/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.bsc.dto;

import com.brain.bsc.view.util.ConstantesBsc;
import com.brain.core.dto.ParametroDto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 *
 * @author Christian
 */
@Entity
@Table(name = "TBSC_DESARROLLO")
public class DesarrolloBscDto implements Serializable{
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "SEQ_DESARROLLO")
    @TableGenerator(name = "SEQ_DESARROLLO", table = "TCORE_ENTIDAD", pkColumnName = "NOMBRE", valueColumnName = "CORRELATIVO", pkColumnValue = "DESARROLLO", allocationSize = 1)
    
    private Long id;
    
    @Column(name = "OBJETIVO_CORTO_PLAZO")
    private String objetivoCortoPlazo;
    @Column(name = "INICIATIVA")
    private String iniciativa;
    @Column(name = "INDICADOR")
    private String indicador;
    @Column(name = "META")
    private String meta;
    @Column(name = "RESULTADO_FINAL")
    private String resultadoFinal;
    @Column(name = "COMENTARIOS")
    private String comentarios;
    @Column(name = "FECHA_INICIO")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaInicio;
    @Column(name = "FECHA_TERMINO")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaTermino;
    @JoinColumn(name = "ESTADO_AVANCE", referencedColumnName = "ID")
    @ManyToOne
    private ParametroDto estadoAvanceDto;
    @Column(name = "PRESUPUESTO")
    private BigDecimal presupuesto;
    @Column(name = "PRINCIPAL")
    private Long principal;
    @Transient
    private String semaforo;
    
    @Column(name = "RESPONSABLE")
    private Long responsable;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getObjetivoCortoPlazo() {
        return objetivoCortoPlazo;
    }

    public void setObjetivoCortoPlazo(String objetivoCortoPlazo) {
        this.objetivoCortoPlazo = objetivoCortoPlazo;
    }

    public String getIniciativa() {
        return iniciativa;
    }

    public void setIniciativa(String iniciativa) {
        this.iniciativa = iniciativa;
    }

    public String getIndicador() {
        return indicador;
    }

    public void setIndicador(String indicador) {
        this.indicador = indicador;
    }

    public String getMeta() {
        return meta;
    }

    public void setMeta(String meta) {
        this.meta = meta;
    }

    public String getResultadoFinal() {
        return resultadoFinal;
    }

    public void setResultadoFinal(String resultadoFinal) {
        this.resultadoFinal = resultadoFinal;
    }

    public String getComentarios() {
        return comentarios;
    }

    public void setComentarios(String comentarios) {
        this.comentarios = comentarios;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public Date getFechaTermino() {
        return fechaTermino;
    }

    public void setFechaTermino(Date fechaTermino) {
        this.fechaTermino = fechaTermino;
    }

    public ParametroDto getEstadoAvanceDto() {
        return estadoAvanceDto;
    }

    public void setEstadoAvanceDto(ParametroDto estadoAvanceDto) {
        this.estadoAvanceDto = estadoAvanceDto;
    }

    public BigDecimal getPresupuesto() {
        return presupuesto;
    }

    public void setPresupuesto(BigDecimal presupuesto) {
        this.presupuesto = presupuesto;
    }

    public Long getPrincipal() {
        return principal;
    }

    public void setPrincipal(Long principal) {
        this.principal = principal;
    }

    public Long getResponsable() {
        return responsable;
    }

    public void setResponsable(Long responsable) {
        this.responsable = responsable;
    }

    public String getSemaforo() {
        if(this.estadoAvanceDto.getId().equals(ConstantesBsc.Parametro.BSC_ESTATUS_CUMPLIO)){
            semaforo=ConstantesBsc.ValoresConstantes.BSC_ESTATUS_CUMPLIO_COLOR;
        }else if(this.estadoAvanceDto.getId().equals(ConstantesBsc.Parametro.REQ_ESTADO_PROCESO)){
            semaforo=ConstantesBsc.ValoresConstantes.REQ_ESTADO_PROCESO_COLOR;
        }else{
            semaforo=ConstantesBsc.ValoresConstantes.REQ_ESTADO_NO_CULMINO_COLOR;
        }
        return semaforo;
    }

    public void setSemaforo(String semaforo) {
        this.semaforo = semaforo;
    }
    
}
